Higher Order Abstract Interpretation with Flow-Effect Types

نویسندگان

  • Paritosh Shroff
  • Christian Skalka
  • Scott Smith
چکیده

This paper describes a novel flow-effect type system that combines concepts of type constraint systems and type effect systems, to achieve a flow-sensitive abstract interpretation of programs with higher-order functions. We prove that a decidable, safe closure algorithm exists. Deriving a decidable type closure algorithm in the presence of higher-order recursive functions is the main technical achievement of the paper.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Separate Abstract Interpretation for Control-Flow Analysis

Effect systems and abstract interpretation are two methods to perform static analysis of programs. We present a new technique that builds upon the type and effect information of module signatures to extend abstract interpretation in the context of separate compilation. We use control-flow analysis as an application of this idea to support our claim. Control-flow analysis strives to determine at...

متن کامل

Automated techniques for higher-order program verification

interpretation techniques are used to derive a control-flow analysis for a simple higher-order functional language. The analysis approximates the interprocedural control-flow of both function calls and returns in the presence of first-class functions and tail-call optimization. The analysis is systematically derived by abstract interpretation of the stack-based CaEK abstract machine of Flanagan...

متن کامل

Automated Techniques for Higher-Order Program Verification (NII Shonan Meeting 2011-5)

interpretation techniques are used to derive a control-flow analysis for a simple higher-order functional language. The analysis approximates the interprocedural control-flow of both function calls and returns in the presence of first-class functions and tail-call optimization. The analysis is systematically derived by abstract interpretation of the stack-based CaEK abstract machine of Flanagan...

متن کامل

Exploiting reachability and cardinality in higher-order flow analysis

We present two complementary improvements for abstract-interpretation-based flow analysis of higher-order languages: (1) abstract garbage collection and (2) abstract counting. Abstract garbage collection is an analog to its concrete counterpart: the analysis determines when an abstract resource has become unreachable, and then reallocates it as fresh. This prevents flow sets from joining during...

متن کامل

Realisability semantics of parametric polymorphism, general references and recursive types

We present a realisability model for a call-by-value, higher-order programming language with parametric polymorphism, general first-class references, and recursive types. The main novelty is a relational interpretation of open types that include general reference types. The interpretation uses a new approach to modelling references. The universe of semantic types consists of world-indexed famil...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007